Adding soundfont support is probably easier now than when this thread was last updated. Vavoom uses SDL_mixer to play MIDI, and a current Mercurial checkout of SDL_mixer supports soundfonts.
Details here:
<!-- m --><a class="postlink" href="http://forums.libsdl.org/viewtopic.php?t=7092&sid=0b205331238f097f4d48193a5acac23b">http://forums.libsdl.org/viewtopic.php? ... 3a5acac23b</a><!-- m -->
The procedure, for the end-user, is to: a) build SDL_mixer with FluidSynth support, b) set the SDL_SOUNDFONTS environment variable to the path to the soundfont(s) to be loaded, and c) start the game.
This works with PrBoom and Doomsday. Trying it with Vavoom, however, gives me the following start-up message:
...
Found OpenGL 2.0 separate stencil methods
Found GL_ARB_depth_clamp...
Found GL_EXT_stencil_wrap...
Found GL_ARB_vertex_buffer_object...
Vertex buffer object extensions found.
Found GL_EXT_draw_range_elements...
Draw range elements extensions found.
fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.
fluidsynth: error: Couldn't open the MIDI file